package com.clothing.customization.service;

import com.clothing.customization.dto.AuthResponse;
import com.clothing.customization.dto.LoginRequest;
import com.clothing.customization.dto.RegisterRequest;
import com.clothing.customization.entity.User;

/**
 * 用户服务接口
 */
public interface UserService {
    
    /**
     * 用户注册
     * @param request 注册请求
     * @return 注册用户
     */
    User register(RegisterRequest request);
    
    /**
     * 用户登录
     * @param request 登录请求
     * @return 认证响应
     */
    AuthResponse login(LoginRequest request);
    
    /**
     * 根据用户名查找用户
     * @param username 用户名
     * @return 用户对象
     */
    User getUserByUsername(String username);
    
    /**
     * 根据ID查找用户
     * @param id 用户ID
     * @return 用户对象
     */
    User getUserById(Long id);
    
    /**
     * 检查用户名是否已存在
     * @param username 用户名
     * @return 是否存在
     */
    boolean isUsernameExists(String username);



} 